#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>

// 编写代码，演示多个字符从两端移动，向中间汇聚

// int main()
// {
//     char arr1[] = "Welcome to bit!!!!";
//     char arr2[] = "##################";

//     int left = 0;
//     int right = strlen(arr2) - 1; // int right = sizeof(arr2)/sizeof(arr2[0])-2;
//     //  strlen()求的是字符串数组中不包括\0的元素的个数，而sizeof求数组元素个数时，\0也被当成发一个元素数了进去，所以元素个数会多一个

//     while (left <= right)
//     {
//         arr2[left] = arr1[left];
//         arr2[right] = arr1[right];
//         printf("%s\n", arr2);
//         Sleep(1000);
//         //清空屏幕
//         system("cls"); //system是一个库函数，可以执行系统命令
//         left++;
//         right--;
//     }
//     printf("%s\n", arr2);

//     return 0;
// }

// 编写代码实现，模拟用户登录情景，并且只能登录三次。（只允许输入三次密码，如果密码正确则提示登陆成功，如果三次均输入错误，则退出程序。）
// 比较两个字符串是否相等，不能使用==，而应该使用库函数：strcmp()
// 如果返回值是0，表示两个字符串相等。

// int main()
// {
//     int i = 0;
//     char password[20] = { 0 };
//     //假设密码是abcdefg
//     for(i = 0; i < 3; i++)
//     {
//         scanf("%s", password);
//         if(strcmp(password, "abcdefg") == 0)
//         {
//             printf("登陆成功\n");
//             break;
//         }
//         else
//         {
//             printf("密码错误\n");
//         }
//     }
//     if(i == 3)
//     {
//         printf("三次密码均输入错误，退出程序！\n");
//     }

//     return 0;
// }

// 猜数字游戏实现

// void menu()
// {
//     printf("##########################\n");
//     printf("########  1. Play  #######\n");
//     printf("########  0. Exit  #######\n");
//     printf("##########################\n");
// }

// void game()
// {
//     int random_num = rand() % 100 + 1;  //生成一个1~100的随机数
//     int input = 0;
//     while (1)
//     {
//         printf("请输入要猜的数字>:");
//         scanf("%d", &input);
//         if (input < random_num)
//         {
//             printf("猜小了！\n");
//         }
//         else if (input > random_num)
//         {
//             printf("猜大了！\n");
//         }
//         else
//         {
//             printf("恭喜你猜对了！\n");
//             break;
//         }
//     }
// }

// int main()
// {
//     int input = 0;
//     srand((unsigned int)time(NULL));  // srand是设置一个随机的起点，time是用来返回一个时间戳，
//                                       //放在main函数一开始是为了在程序开始后只用设置一次
//     do
//     {
//         menu();
//         printf("请选择>:\n");
//         scanf("%d", &input);
//         switch (input)
//         {
//         case 1:
//             game();
//             break;
//         case 0:
//             break;
//         default:
//             printf("选择错误，请重新输入！\n");
//             break;
//         }
//     } while (input);

//     return 0;
// }


//写一个函数判断一个数是不是素数
//打印100~200的素数

// int main()
// {
//     //产生100~200的数字
//     int i = 1;
//     int count = 0;
//     for(i = 101; i<=200; i+=2)
//     {
//         //让i分别对2~sqrt(i)之前的数进行取模，如果等于0则不为素数，反之，则为素数
//         int flag = 1; //当flag为1时，则为素数
//         int j = 0;
//         for(j = 2; j <= sqrt(i); j++)
//         {
//             if(i % j == 0)
//             {
//                 flag = 0;
//                 break;
//             }
//         }
//         if(flag == 1)
//         {
//         count++;
//         printf("%d ", i);
//         }

//     }
//     printf("\ncount = %d", count);

//     return 0;
// }

//自定义函数实现判断素数


//是素数返回1，不是素数返回0
int is_Prime(int n)
{
    int j = 0;
        for(j = 2; j <= sqrt(n); j++)
        {
            if(n % j == 0)
            {
                return 0;
            }
        }
    return 1;
}

int main()
{
    //产生100~200的数字
    int i = 1;
    int count = 0;
    for(i = 101; i<=200; i+=2)
    {
        if(is_Prime(i))
        {
        count++;
        printf("%d ", i);
        }

    }
    printf("\ncount = %d", count);

    return 0;
}